1. Field of the Invention
The invention relates to electronic bill presentation and payment (EBPP) systems and more particularly to EBPP systems that aggregate items of bill data for a user from a number of different kinds of sources. The invention further relates to techniques for obtaining data from Web pages.
2. Description of Related Art
Electronic Bill Presentation and Payment Systems
Electronic bill presentation and payment systems are systems that automate bill paying for users of networked computers. An example of such a system is the Paytrust EBPP system, operated under the trademark Paytrust.com™ by Paytru$t, Inc., 101 Grover's Mill Rd., Lawrenceville, N.J. 08648.
In the Paytrust EBPP system as it existed before the invention described in the present patent application was incorporated into it, a Paytrust customer directed his or her billers to send the customer's bills to Paytrust instead of to the customer. For most billers, this simply means mailing the bill to Paytrust instead of to the customer. When Paytrust receives a customer's bill in the mail, Paytrust scans the bill to obtain an image of the bill and applies optical character recognition (OCR) technology to the scanned bill to read an item of bill data from the image. An item of bill data will typically include the account number, the statement date, the bill amount, the payment due date, minimum amount due, and/or total amount due. The image and the item of bill data are then input to the Paytrust EBPP system, which adds the image and the item of bill data to a database of bills that is maintained by the Paytrust EBPP system. The bills in the database are locatable by the name of the customer who received the bill and the name of the biller who sent the bill. The database also includes information about the billers including the address to which payment is to be sent and information about the customers including the bank or other accounts from which the customer's bills are to be paid. Some billers are able to provide their bills to Paytrust electronically, either directly or via a biller service provider. The electronic bill includes an image of the bill and the item of bill data. With these bills, the steps of scanning the bill and using OCR to obtain the bill information are not necessary; instead the electronic bills are added directly to the database.
Paytrust customers interact with the Paytrust EBPP system by means of the World Wide Web. The system maintains a Web site to which the customer has secure access. Using the secure access, the customer can request that Paytrust display a Web page that contains a list of the bills presently owed by the customer. The customer can use a pointing device to see the image of a bill on the list and to select a bill from the list for payment. When a bill has been selected, Paytrust pays the biller from the bank account specified by the customer. Other features of the Paytrust EBPP system include notification of the customer by email of the arrival of a bill, notification by email that an unpaid bill has come due, tracking of bill payment history, customer-specified reports based on the bill history, and the SmartBalance™ bank account balance feature, which will be explained in detail below.
An assumption made in the original design of the Paytrust EBPP system was that many billers would change their billing procedures so that they could provide either electronic bills or paper bills. That has not happened as quickly as originally anticipated. On the other hand, many billers are now maintaining Web sites at which their customers can access their current statements. These Web sites provide the customer with “electronic bills”, albeit in the form of information contained in HTML pages rather than in the form used in the standard electronic bills for which the Paytrust system was originally designed. What was needed was a way of obtaining the HTML forms of the electronic bills from the billers' Web sites, extracting an image of the bill and the item of bill datafrom the HTML forms, and adding this information to the Paytrust system's bill databases.
“Scraping” Data from HTML Pages
The information which a user receives from a Web site is in the form of an HTML page. The user's Web browser interprets the HTML page to produce the display that appears on the user's display device. The HTML page is made up of a sequence of elements which may be nested. Each element has the form:                <html_tag> element content </html_tag>        
The tags determine how the browser displays the content of the element. The tags' meanings are defined in the HTML standard. As is apparent from the foregoing description of an HTML page, if one knows the location of an element in the HTML page, one can go to that location in the page and read the content of the element. What's more, a program can be written that will do the same thing. The technique of using a program to locate an element on an HTML page and read that element's content is termed screen scraping. Of course, the program that does the screen scraping is specific to the HTML page or pages from which the content is being read.
One example of the use of screen scraping is Paytrust's SmartBalance feature. The feature provides Paytrust customers with bank balances that take into account the bills that the customer has selected for payment. SmartBalance takes advantage of the fact that many financial institutions now have Web sites where their customers can securely access their account balances. The Paytrust interactive display that displays the lists of bills and payments includes a button that takes the customer to a page of banks. The page includes a list of banks for which Paytrust has developed scraping programs to read the banks' account balance Web pages. The SmartBalance feature only works with these banks. When the Paytrust customer enters his or her user identification and clicks on a login button, the Paytrust system acts as a proxy for the Paytrust customer: it employs the customer's user identification to access the customer's account balance information at the financial institution's Web site, scrapes the HTML page on which the balance information occurs, and returns the scraped data to the Paytrust System. The scraped data includes the time and date at which the account balance on the Web site was last updated and the balance. Using this information, the Paytrust system then computes a current balance (the SmartBalance) by subtracting from the account balance the amounts of bills paid using Paytrust since the last time the account balance was updated. Finally, the Paytrust system displays the SmartBalance to the customer.
Another use of screen scraping is aggregation of account balances for all of a user's accounts at a single site. Yodlee.com, Inc., of Sunnyvale, Calif. is a provider of one such services, called My Yodlee. Techniques used in the My Yodlee service are further the subject of U.S. Pat. No. 6,199,077B12, Inala, et al., Server-side Web summary generation and presentation, issued Mar. 6, 2001. My Yodlee aggregates account information from a large number of financial institutions. When a user wishes to use the My Yodlee service, he or she provides the service with account identification and user identification information for each of the accounts whose balances the user wants to appear on the Web page that My Yodlee provides to the user. The My Yodlee services includes a software agent, familiarly terms a bot, for each of the financial institutions from which My Yodlee aggregates account information. The bot does the scraping on the HTML provided by the financial institution's Web site.
A bot for a given financial institution is run periodically. On each run, the bot has the user identification information for all of the users for which My Yodlee is aggregating account information from that financial institution. The bot uses the user identification information to access the Web page for each user on the list, scrapes the account balance information from the Web page, and returns it to My Yodlee's Web site, which stores it in a database under the user's name. When the user wishes to see his or her account balances, My Yodlee creates a Web page for the user upon which the balances currently listed in the database for the user are displayed.
The techniques of screen scraping may be employed generally to make an HTML page a source of “electronic data”, Paytrust's SmartBalance technique shows how a system may use account and user identification information provided by a user to gain access to a Web page for purposes of screen scraping, and My Yodlee's software agents show how screen scraping may be done without direct user intervention. However, none of these techniques are applicable as they stand to the problem of integrating statement information that is available to a customer of an EBPP system at the biller's Web site with the statement information that is available to the EBPP system from sources such as mailed paper bills or bills provided directly to the EBPP system in electronic form. It is an object of the present invention to provide methods and apparatus for integrating statement information from biller Web sites with statement information available to the EBPP from other sources. It is a further object of the invention to provide a technique for obtaining information from a biller Web site that permits display of a bill by the EBPP system.